home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / frontpage_dvwssr.nasl < prev    next >
Text File  |  2005-01-14  |  4KB  |  136 lines

  1. #
  2. # This script was written by Renaud Deraison <deraison@cvs.nessus.org>
  3. #
  4. # See the Nessus Scripts License for details
  5. #
  6.  
  7. if(description)
  8. {
  9.  script_id(10369);
  10.  script_bugtraq_id(1109);
  11.  script_version ("$Revision: 1.36 $");
  12.  script_cve_id("CVE-2000-0260");
  13.  name["english"] = "Microsoft Frontpage dvwssr.dll backdoor";
  14.  name["francais"] = "Backdoor dans dvwssr.dll de Microsoft Frontpage"; 
  15.  script_name(english:name["english"], francais:name["francais"]);
  16.  
  17.  desc["english"] = "
  18. The dll '/_vti_bin/_vti_aut/dvwssr.dll' seems to be present.
  19.  
  20. This dll contains a bug which allows anyone with
  21. authoring web permissions on this system to alter
  22. the files of other users.
  23.  
  24. In addition to this, this file is subject to a buffer overflow
  25. which allows anyone to execute arbitrary commands on the
  26. server and/or disable it
  27.  
  28. Solution : delete /_vti_bin/_vti_aut/dvwssr.dll
  29. Risk factor : High
  30. See also : http://www.wiretrip.net/rfp/p/doc.asp?id=45&iface=1";
  31.  
  32.  
  33.  desc["francais"] = "
  34. La dll '/_vti_bin/_vti_aut/dvwssr.dll' semble etre prΘsente.
  35.  
  36. Cette dll contient un bug permettant toute
  37. personne ayant un compte d'Θdition web sur ce systΦme
  38. de modifier les pages des autres utilisateurs.
  39.  
  40. De plus cette dll peut etre soumise α un dΘpassement de buffer
  41. qui permet α n'importe qui d'executer des commandes arbitraires
  42. sur ce systΦme et/ou de dΘsactiver IIS.
  43.  
  44.  
  45. Solution : Effacez ce fichier
  46. Facteur de risque : ElevΘ
  47. Voir aussi : http://www.wiretrip.net/rfp/p/doc.asp?id=45&iface=1";
  48.  
  49.  
  50.  script_description(english:desc["english"], francais:desc["francais"]);
  51.  
  52.  summary["english"] = "Checks for the presence of  /_vti_bin/_vti_aut/dvwssr.dll";
  53.  summary["francais"] = "VΘrifie la prΘsence de  /_vti_bin/_vti_aut/dvwssr.dll";
  54.  script_summary(english:summary["english"], francais:summary["francais"]);
  55.  
  56.  script_category(ACT_GATHER_INFO);
  57.  
  58.  
  59.  script_copyright(english:"This script is Copyright (C) 2000 Renaud Deraison",
  60.         francais:"Ce script est Copyright (C) 2000 Renaud Deraison");
  61.  family["english"] = "CGI abuses";
  62.  family["francais"] = "Abus de CGI";
  63.  script_family(english:family["english"], francais:family["francais"]);
  64.  script_dependencie("find_service.nes", "http_version.nasl", "www_fingerprinting_hmap.nasl");
  65.  script_require_ports("Services/www", 80);
  66.  exit(0);
  67. }
  68.  
  69. #
  70. # The script code starts here
  71. #
  72.  
  73. include("http_func.inc");
  74.  
  75. port = get_http_port(default:80);
  76.  
  77. banner = get_http_banner(port:port);
  78. if ( ! banner ) exit(0);
  79. if ( ! egrep(pattern:"^Server: .*IIS/[34]", string:banner ) ) exit(0);
  80.  
  81. if(get_port_state(port))
  82. {
  83.  soc = http_open_socket(port);
  84.  if(soc)
  85.  {
  86.   req = http_get(item:"/", port:port);
  87.   send(socket:soc, data:req);
  88.   r = recv_line(socket:soc, length:2048);
  89.   http_close_socket(soc);
  90.   if(ereg(pattern:"^HTTP/1\.. 404 .*", string:r))exit(0);
  91.  
  92.   if("HTTP/1.1 401 Access Denied" >< r)
  93.     exit(0);
  94.   
  95.   if(!ereg(pattern:"^HTTP/1\..*", string:r))exit(0);
  96.   
  97.   soc = http_open_socket(port);
  98.   req = http_get(item:"/_vti_bin/_vti_aut/dvwssr.dll", port:port);
  99.   send(socket:soc, data:req);
  100.   code = recv_line(socket:soc, length:2048, timeout:25);
  101.   r = http_recv(socket:soc, code: code);
  102.  
  103.   #
  104.   # IIS will return a 500 error for an unknown file,
  105.   # and a 401 error when the file is present.
  106.   #
  107.   # According to http://archives.neohapsis.com/archives/win2ksecadvice/2000-q2/0015.html 
  108.   # Example 3: 
  109.   # $ nc -v -w2 target.system 80 
  110.   # GET /_vti_bin/_vti_aut/dvwssr.dll HTTP/1.0 (hit enter twice) 
  111.   # Connection closed by foreign host. 
  112.   #
  113.   # The connection closed means that you had the rights to run the DLL, but 
  114.   # since no parameters were passed the connection was completed. 
  115.   
  116.   if("WWW-Authenticate:" >< r)exit(0);
  117.   
  118.   is200 = ereg(pattern:"^HTTP/[0-9]\.[0-9] 200 ", string:code);
  119.  
  120.   if(("HTTP/1.1 401 Access Denied" >< code) ||
  121.       (strlen(r) == 0)  || is200 )  
  122.   {
  123.   if ( is200 )
  124.    {
  125.     no404 = tolower(get_kb_item(string("www/no404/",  port)));
  126.     if(no404)
  127.     {
  128.      if(no404 >< tolower(r) && strlen(r))exit(0);
  129.     }
  130.    }
  131.    security_hole(port);
  132.   }
  133.   http_close_socket(soc);
  134.  }
  135. }
  136.